#ifndef _SIDECAR_H_
#define _SIDECAR_H_

#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

extern long long get_int_value(const char* url, const char* metrics);
extern double get_float_value(const char* url, const char* metrics);
extern void get_str_value(const char* url, const char* metrics, char* str, size_t* str_len);
extern void get_struct_value(const char* url, const char* metrics, char* value, size_t* value_len);

extern int set_int_value(const char* url, const char* metrics, long long value);
extern int incr_int_value(const char* url, const char* metrics);
extern int decr_int_value(const char* url, const char* metrics);
extern int add_int_value(const char* url, const char* metrics, long long value);

extern int set_float_value(const char* url, const char* metrics, double value);
extern int set_str_value(const char* url, const char* metrics, const char* str, size_t str_len);
extern int set_struct_value(const char* url, const char* metrics, char* value, size_t value_len);

#ifdef __cplusplus
};
#endif

#endif
